<?php

/*
   *TestGuest Version1.0
   *=================================================
   *Copy 20 17-2018 xys
   *web:963908484
   *=================================================
   *Authur:xys
   *Date:2017-4-22
*/


/*
 * _runtime()是用来获取执行耗时
 * @access public
 * @return float
 */

function _runtime(){

	$_mtime = explode('',microtime());
	return  $_mtime[1]+$_mtime[0];
}


/*
 * _alert_back()表示js弹窗
 * @access public
 * @param $_info
 * @return void 弹窗
 * 
 */
function _alert_back($_info){
	echo "<script type='text/javascript'>alert('$_info');history.back();</script>";
    exit();
}

/*
 * _alert_back()表示js弹窗
 * @access public
 * @param $_info
 * @return void 弹窗
 *
 */
function _location($_info,$_url){
	echo "<script type='text/javascript'>alert('$_info');location.href='$_url';</script>";
    exit();
}




function _sha1_uniqid(){
	
	//return _mysql_string(sha1(uniqid(rand(),true)));
	return sha1(uniqid(rand(),true));
}



/*
 * _check_code()表示验证码函数
 * @access public
 * @param string $_first_code
 * @param string $_end_code
 * @return void 验证码比对
 */
function _check_code($_first_code,$_end_code){
	if ($_first_code!=$_end_code)
		_alert_back('验证码不正确');

}


/*
 * _mysql_string 表示字符串转义函数
 * @access public
 * @param string $_string
 * @return $_string
 */
function _mysql_string($_string){
	//如果get_magic_quotes_gpc()开启状态，就不需要转义
	if (!GPC){
		return mysqli_real_escape_string($_SESSION['con'],$_string);
	}else {
		echo $_string;
	}
	
}


/* _code()是验证码函数
 *@access public
 *@param int $_width 表示验证码长度
 *@param int $_height 表示验证码高度
 *@param int $_rnd_code 表示验证码位数
 *@param bool $_flag 表示验证码是否需要边框
 *@return void 这个函数执行后产生一个验证码
 * 
 */

function _code($_width=75,$_height=25,$_rnd_code = 4,$_flag = false){
	//随机码的个数
	//$_rnd_code = 4;
	
	//随机16进制的数，循环出四位
	for($i=0;$i<$_rnd_code;$i++){
		$_nmsg .= dechex(mt_rand(0, 15));
	}
	//保存在session里
	$_SESSION['code'] = $_nmsg;
	
	//创建一张图像,设置长和高
	//$_width = 75;
	//$_height = 25;
	$_img = imagecreatetruecolor($_width, $_height );
	
	//白色
	$_white = imagecolorallocate($_img, 255, 255, 255);
	
	//填充
	imagefill($_img,0,0, $_white);
	
	//$_flag = false;
	
	if ($_flag){
		//黑色，边框
		$_black = imagecolorallocate($_img, 0, 0, 0);
		imagerectangle($_img,0, 0,$_width-1,$_height-1, $_black);
	}
	
	//随机画出6个线条
	for($i=0;$i<6;$i++){
		$_rng_color = imagecolorallocate($_img,mt_rand(0, 255), mt_rand(0, 255),mt_rand(0, 255));
		imageline($_img,mt_rand(0,$_width), mt_rand(0,$_height),mt_rand(0,$_width),mt_rand(0,$_height), $_rng_color);
	}
	
	//随机雪花
	for($i=0;$i<100;$i++){
		$_rng_color = imagecolorallocate($_img,mt_rand(200, 255), mt_rand(200, 255),mt_rand(200, 255));
		imagestring($_img, 1, mt_rand(1,$_width), mt_rand(1,$_height), '*', $_rng_color);
	}
	
	//输出验证码
	for($i=0;$i<strlen($_SESSION['code']);$i++){
		$_rng_color = imagecolorallocate($_img,mt_rand(0, 100), mt_rand(0, 150),mt_rand(200, 200));
		imagestring($_img,5,$i*$_width/$_rnd_code + mt_rand(1, 10),mt_rand(1, $_height/2),$_SESSION['code'][$i],$_rng_color);
	}
	
	//输出图像
	ob_clean();
	header('Content-Type:image/png');
	imagepng($_img);
	//销毁
	imagedestroy($_img); 
}

?>